computational linguistics natural language processing software alignment nlp mml multiple alignment sequence analysis java shareware artificial intelligence multimedia